/* 愈心谷运营后台 — 对齐 packages/ui tokens */ :root { --color-primary: #e54d42; --color-primary-hover: #d44338; --color-primary-soft: #ffe4e4; --color-bg-start: #ffd1c7; --color-bg-end: #ffc8b5; --color-bg-sheet: #fff9f7; --color-surface: #ffffff; --color-text-primary: #333333; --color-text-secondary: #999999; --color-border: #f0e6e2; --color-accent-gold: #c8923a; --color-accent-blue: #4a90e2; --color-accent-green: #5cb85c; --color-error: #e54d42; --bg: linear-gradient(165deg, #ffe8e0 0%, #fff5f1 42%, #ffece5 100%); --panel: #fffdfb; --ink: #333333; --muted: #9a8f8b; --line: #f0e6e2; --accent: #e54d42; --accent-ink: #fff; --danger: #e54d42; --radius: 14px; --shadow: 0 8px 28px rgba(229, 77, 66, 0.08); font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; color: var(--ink); background: var(--color-bg-sheet); } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: var(--bg); background-attachment: fixed; } a { color: inherit; text-decoration: none; } button, input, select { font: inherit; } table { width: 100%; border-collapse: collapse; } th, td { text-align: left; padding: 0.65rem 0.75rem; border-bottom: 1px solid var(--line); font-size: 0.92rem; } th { color: var(--muted); font-weight: 600; } .btn { border: 0; border-radius: 12px; padding: 0.55rem 1rem; cursor: pointer; background: linear-gradient(135deg, #ff7a6e, var(--accent)); color: var(--accent-ink); box-shadow: 0 6px 16px rgba(229, 77, 66, 0.22); font-weight: 650; } .btn.ghost { background: transparent; color: var(--ink); border: 1px solid var(--line); box-shadow: none; font-weight: 500; } .btn:disabled { opacity: 0.55; cursor: not-allowed; box-shadow: none; } .field { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.9rem; } .field input, .field select { border: 1.5px solid var(--line); border-radius: 12px; padding: 0.6rem 0.75rem; background: #fdfaf8; } .field input:focus, .field select:focus { outline: none; border-color: #f0b8b0; box-shadow: 0 0 0 3px rgba(229, 77, 66, 0.1); } .err { color: var(--danger); font-size: 0.9rem; } .muted { color: var(--muted); } .card { background: var(--panel); border: 1px solid rgba(255, 255, 255, 0.9); border-radius: var(--radius); padding: 1.1rem 1.2rem; box-shadow: var(--shadow); } code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }