:root { --bg: #f4f7fb; --card: #ffffff; --text: #1f2937; --muted: #6b7280; --primary: #2563eb; --border: #e5e7eb; } * { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; background: linear-gradient(180deg, #eef4ff 0%, var(--bg) 40%); color: var(--text); } .container { max-width: 960px; margin: 0 auto; padding: 32px 20px 48px; } header h1 { margin: 0 0 8px; font-size: 28px; } header p { margin: 0 0 24px; color: var(--muted); } .card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 24px; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); margin-bottom: 20px; } .grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; } label.full { margin-top: 16px; } small { font-weight: 400; color: var(--muted); } input, select, textarea { width: 100%; border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; font-size: 14px; font-weight: 400; font-family: inherit; background: #fff; } textarea { resize: vertical; } .actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; } button { border: none; border-radius: 10px; padding: 10px 18px; font-size: 14px; font-weight: 600; cursor: pointer; background: var(--primary); color: #fff; } button.secondary { background: #e5e7eb; color: #111827; } button:disabled { opacity: 0.6; cursor: not-allowed; } .tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; } .tab { background: #fff; color: var(--text); border: 1px solid var(--border); border-radius: 999px; padding: 10px 16px; font-size: 13px; } .tab.active { background: var(--primary); border-color: var(--primary); color: #fff; } .tab-panel { display: none; } .tab-panel.active { display: block; } .placeholder { text-align: center; padding: 64px 24px; } .placeholder h2 { margin: 0 0 12px; font-size: 20px; } .placeholder p { margin: 0; color: var(--muted); } #gpsPayload { font-family: Consolas, "Courier New", monospace; min-height: 360px; line-height: 1.5; } pre { margin: 0; background: #0f172a; color: #e2e8f0; border-radius: 12px; padding: 16px; overflow: auto; min-height: 180px; font-size: 13px; line-height: 1.5; } @media (max-width: 768px) { .grid { grid-template-columns: 1fr; } }