/* 智慧工地主题色 */ :root { /* 主色 */ --color-primary: #1e3a5f; --color-primary-light: #2d5a8a; --color-secondary: #3b82f6; /* 警示色 */ --color-danger: #f97316; --color-warning: #eab308; --color-success: #22c55e; /* 中性色 */ --color-bg: #f8fafc; --color-card: #ffffff; --color-text: #1f2937; --color-text-secondary: #6b7280; --color-border: #e5e7eb; /* 状态色 */ --color-online: #22c55e; --color-offline: #9ca3af; /* 字体 */ --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; --font-mono: 'SF Mono', 'Fira Code', Consolas, monospace; } /* 全局重置 */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html, body { font-family: var(--font-family); background-color: var(--color-bg); color: var(--color-text); font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiwebkit; -webkit-tap-highlight-color: transparent; } a { color: var(--color-secondary); text-decoration: none; } button { font-family: inherit; cursor: pointer; border: none; outline: none; } input, textarea, select { font-family: inherit; font-size: inherit; } /* 工具类 */ .flex { display: flex; } .flex-col { flex-direction: column; } .items-center { align-items: center; } .justify-between { justify-content: space-between; } .gap-2 { gap: 8px; } .gap-3 { gap: 12px; } .p-3 { padding: 12px; } .p-4 { padding: 16px; } .mt-2 { margin-top: 8px; } .mt-3 { margin-top: 12px; } .mb-3 { margin-bottom: 12px; } .text-sm { font-size: 12px; } .text-secondary { color: var(--color-text-secondary); } .font-bold { font-weight: 700; } .text-center { text-align: center; } .w-full { width: 100%; } .hidden { display: none; }