wecom.center.css 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /* ==================================================================
  2. WeCom Center — clean card UI
  3. ================================================================== */
  4. .wc-wrap { padding: 4px 2px 32px; }
  5. .wc-hero {
  6. margin: 6px 0 18px;
  7. padding: 18px 22px;
  8. border-radius: 12px;
  9. background: linear-gradient(135deg, #2f6fdd 0%, #274b8f 100%);
  10. color: #fff;
  11. box-shadow: 0 6px 18px rgba(47,111,221,.25);
  12. }
  13. .wc-hero__title { font-size: 20px; font-weight: 700; letter-spacing: .3px; }
  14. .wc-hero__sub { margin-top: 6px; font-size: 13px; opacity: .9; line-height: 1.5; }
  15. .wc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; align-items: start; }
  16. .wc-card {
  17. background: #fff;
  18. border: 1px solid #e3e6ea;
  19. border-radius: 12px;
  20. box-shadow: 0 1px 3px rgba(20,30,50,.06);
  21. overflow: hidden;
  22. margin-bottom: 16px;
  23. }
  24. .wc-card--wide { grid-column: 1 / -1; }
  25. .wc-card__head {
  26. display: flex; align-items: center; gap: 10px;
  27. padding: 13px 18px;
  28. border-bottom: 1px solid #eef0f3;
  29. background: #fafbfd;
  30. }
  31. .wc-card__ico { font-size: 17px; line-height: 1; }
  32. .wc-card__title { font-size: 14.5px; font-weight: 650; color: #23272e; }
  33. .wc-card__sub { font-size: 12px; color: #808793; margin-left: auto; }
  34. .wc-card__body { padding: 16px 18px; }
  35. .wc-hint { color: #7a828c; font-size: 12px; line-height: 1.6; margin: 0 0 12px; }
  36. /* fields */
  37. .wc-field { margin-bottom: 14px; }
  38. .wc-field:last-child { margin-bottom: 0; }
  39. .wc-field label { display: block; font-size: 12px; font-weight: 600; color: #55606d; margin-bottom: 5px; }
  40. .wc-input {
  41. width: 100%; box-sizing: border-box; padding: 8px 11px;
  42. border: 1px solid #cfd6dd; border-radius: 7px; font-size: 13px; color: #23272e; background: #fff;
  43. }
  44. .wc-input:focus { outline: none; border-color: #2f6fdd; box-shadow: 0 0 0 3px rgba(47,111,221,.15); }
  45. .wc-input--mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
  46. select.wc-input { appearance: auto; }
  47. /* buttons */
  48. .wc-btn {
  49. display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  50. padding: 7px 15px; border-radius: 7px; font-size: 13px; font-weight: 600;
  51. border: 1px solid transparent; text-decoration: none !important; line-height: 1.2;
  52. }
  53. .wc-btn--primary { background: #2f6fdd; color: #fff; }
  54. .wc-btn--primary:hover { background: #275fc0; color: #fff; }
  55. .wc-btn--ghost { background: #fff; color: #2f6fdd; border-color: #cfd6dd; }
  56. .wc-btn--ghost:hover { background: #f2f6ff; }
  57. .wc-btn--danger { background: #d9534f; color: #fff; }
  58. .wc-btn--sm { padding: 5px 11px; font-size: 12px; }
  59. .wc-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
  60. /* pills & badges */
  61. .wc-pill { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 600; }
  62. .wc-pill--cur { background: #e6f4ea; color: #2f9e5e; }
  63. .wc-pill--muted { background: #eef1f5; color: #667080; }
  64. .wc-sev { display: inline-block; padding: 1px 8px; border-radius: 5px; font-size: 11.5px; font-weight: 600; color: #fff; }
  65. .wc-sev-1 { background: #9aa3ad; } .wc-sev-2 { background: #4a90d9; }
  66. .wc-sev-3 { background: #e0a800; } .wc-sev-4 { background: #e07b00; }
  67. .wc-sev-5 { background: #d9534f; } .wc-sev-6 { background: #a4133c; }
  68. /* preset rows */
  69. .wc-preset { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid #f0f2f5; }
  70. .wc-preset:last-child { border-bottom: none; }
  71. .wc-preset__main { flex: 1; min-width: 0; }
  72. .wc-preset__name { font-size: 13.5px; font-weight: 650; color: #23272e; display: flex; align-items: center; gap: 8px; }
  73. .wc-preset__desc { font-size: 12px; color: #808793; margin-top: 3px; line-height: 1.45; }
  74. .wc-preset__act { display: flex; gap: 8px; flex-shrink: 0; }
  75. /* tables */
  76. .wc-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
  77. .wc-table th { text-align: left; padding: 9px 10px; background: #f7f9fc; color: #667080; font-weight: 600; border-bottom: 1px solid #e6eaef; white-space: nowrap; }
  78. .wc-table td { padding: 9px 10px; border-bottom: 1px solid #eef1f4; color: #2b2f36; vertical-align: middle; }
  79. .wc-table tr:last-child td { border-bottom: none; }
  80. .wc-table .num { text-align: right; font-variant-numeric: tabular-nums; }
  81. .wc-table tr.wc-tr-total td { background: #fafbfd; font-weight: 700; }
  82. /* code block */
  83. .wc-code { background: #0f172a; color: #e2e8f0; padding: 13px 15px; border-radius: 9px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; line-height: 1.6; overflow: auto; white-space: pre; margin: 8px 0 14px; }
  84. .wc-code__label { font-size: 12px; font-weight: 600; color: #55606d; margin: 2px 0 2px; }
  85. /* checkbox list */
  86. .wc-checks { display: flex; flex-wrap: wrap; gap: 10px 18px; }
  87. .wc-checks label { display inline; font-weight: 500; color: #2b2f36; font-size: 12.5px; }
  88. .wc-checkrow { display: flex; align-items: center; gap: 8px; }
  89. /* host chips (preview) */
  90. .wc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
  91. .wc-chip { background: #eef4ff; color: #274b8f; border-radius: 6px; padding: 3px 9px; font-size: 11.5px; }
  92. /* misc */
  93. .wc-muted { color: #808793; font-size: 12px; }
  94. .wc-divider { height: 1px; background: #eef1f4; margin: 16px 0; }
  95. .wc-empty { color: #808793; font-size: 13px; padding: 10px 0; }
  96. .wc-inline { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
  97. .wc-inline .wc-field { flex: 1; min-width: 160px; margin-bottom: 0; }